// 版权归Epic Games, Inc.所有。保留所有权利。

#pragma once

#include "Components/Widget.h"

#include "IndicatorLayer.generated.h"

class SActorCanvas;
class SWidget;
class UObject;

UCLASS()
class UIndicatorLayer : public UWidget
{
	GENERATED_UCLASS_BODY() // 生成UCLASS主体

public:
	/** 如果UI被限制到屏幕并需要显示箭头时使用的默认箭头画刷 */
	UPROPERTY(EditAnywhere, BlueprintReadOnly, Category=Appearance)
	FSlateBrush ArrowBrush; // 箭头画刷

protected:
	// UWidget接口
	/**
	 * 释放Slate资源
	 * @param bReleaseChildren 是否释放子资源
	 */
	virtual void ReleaseSlateResources(bool bReleaseChildren) override;
	/**
	 * 重新构建小部件
	 * @return 构建的小部件共享引用
	 */
	virtual TSharedRef<SWidget> RebuildWidget() override;
	// 结束UWidget接口

protected:
	TSharedPtr<SActorCanvas> MyActorCanvas; // 我的角色画布共享指针
};